/******************************************************************************
 * Copyright (C) 2017 Chengdu Dlhd information industry co. LTD.
 * All Rights Reserved.
 * 本软件为成都顶联互动信息产业有限公司开发研制。未经本公司正式书面同意，其他任何个人、团体不得使用、复制、修改或发布本软件.
 *****************************************************************************/
package net.dgg.dggcloud.service.jrcrm.dao.cms;

import net.dgg.dggcloud.core.minidao.annotation.MiniDao;
import net.dgg.dggcloud.core.minidao.hibernate.MiniDaoSupportHiber;
import net.dgg.dggcloud.service.jrcrm.entity.cms.WorkDay;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: WorkDayDao
 * @Description: 工作日历查询
 * @author 汤宏
 * @date 2017年11月01日11:30:00
 *
 */
@MiniDao
@SuppressWarnings({"rawtypes"})
public interface WorkDayDao extends MiniDaoSupportHiber<WorkDay>{

	/**
	 * 查询所有工作日历
	 * @param map year 如：2017
	 * @return
	 */
	public List<Map> listWorkDayByMap(Map map);

	/**
	 * 更新工作日信息
	 * @param map
	 */
	public void updateWorkDay(Map map);

	/**
	 * 根据日期查询工作日
	 * @param map
	 */
	public Map getByDate(Map map);
	/**
	 * 查询某一日期后X工作日后的日期
	 * @param map date 日期 days 天数
	 * @return
	 */
	public String queryAfterDate(Map map);
	/**
	 * 查询某一日期后X工作日前的日期
	 * @param map date 日期 如：2017-01-01、 days 天数 如：10
	 * @return date
	 */
	public String queryBeforeDate(Map map) ;
	/**
	 * 查询日期1和日期2之间的工作日天数
	 * @param map startDate 日期 如：2017-01-01、 endDate 日期 如：2017-02-01
	 * @return 天数
	 */
	public int queryBetweenDays(Map map);

	/**
	 * 查询日期1和日期2之间的工作日
	 *
	 * @param map startDate String 开始日期 如：2017-01-01
	 *            endDate String 结束日期 如：2017-02-01
	 * @return
	 */
	public List<Map> listWorkDaysbetweenDays(Map map);

}
